/**
 * 
 */
package com.design.patterns.etat;

/**
 * @author fred
 * 
 */
public class EtatInitial implements Etat {
	private Banque banque;

	public EtatInitial(Banque banque) {
		if (banque == null)
			System.out.println("La banque n'a pas d'etat");
		this.banque = banque;
	}

	@Override
	public Etat delAgence(Agence agence) {
		System.out
				.println("L'agence n'est pas initialisee, impossible d'ajouter ou supprimer des agences");
		return null;
	}

	@Override
	public Etat delete() {
		System.out
				.println("L'agence n'est pas initialisee, impossible d'ajouter ou supprimer des agences");
		return null;
	}

	@Override
	public void addAgence(Agence agence) {
		System.out
				.println("L'agence n'est pas initialisee, impossible d'ajouter ou supprimer des agences");

	}

	@Override
	public void validate() {
		if (banque.getNom() == null)
			System.out.println("La banque doit avoir un nom");
		else
			banque.setEtat(new EtatValide(banque));
	}

}
